package com.example.musicbox.utils;

import java.util.HashMap;

/**
 * @author : zhy
 * @since : 2022/8/1
 * 全局统一返回
 */
public class Result extends HashMap<String, Object> {


    /**
     * 无参构造函数
     */
    public Result()
    {
        put("code",200);
        put("message","success");
    }


    /**
     * 链式put
     * @param key
     * @param value
     * @return
     */
    public Result put(String key,Object value)
    {
        super.put(key, value);
        return this;
    }


    /**
     * 无参正常返回
     * @return
     */
    public static Result ok()
    {
        return new Result();
    }


    /**
     * 带有消息的有参返回
     * @param message
     * @return
     */
    public static Result ok(String message)
    {
        Result result = new Result();
        result.put("message",message);
        return result;
    }


    /**
     * 无参错误返回
     * @return
     */
    public static Result error()
    {
        Result result = new Result();
        result.put("code",500);
        result.put("message","error");
        return result;
    }


    /**
     * 带有错误信息的返回
     * @param message
     * @return
     */
    public static Result error(String message)
    {
        Result error = error();
        error.put("message",message);
        return error;
    }

}
